home *** CD-ROM | disk | FTP | other *** search
- /************************************************************************
- *
- * checkers.ray
- *
- * This is an example file for the rsdefs package.
- *
- * Please do not edit this file, or any of the other files in
- * this package! Make additions to these in your own separate
- * file. If you think you have something that should be added
- * permanently, please send it to Larry Coffin and/or David
- * DeBry (email addresses listed below). If we include it in
- * the next release, we'll put your name in the contributor's
- * list.
- *
- * Contributors (in alphabetical order):
- * Larry Coffin <lcoffin@clciris.chem.umr.edu>
- * David DeBry <ddebry@dsd.es.com>
- *
- */
-
- #include "defs.rh"
-
- RSMdaysky()
- RSFtv_alpha()
- RSF4x3screen(1)
-
- eyep -1 -40 40
-
- maxdepth 5
-
- light 1 1 1 extended 1 50 -50 50
-
- /*********************************************************************
- *
- * Constants. BOARDSIZE is the size of the side of the board and
- * is the same for both the chessboard and the RSMchesspiece macro.
- */
-
- #define BOARDSIZE 7
- #define RAD ((1/16 * .75) * BOARDSIZE)
-
- /********************************************************************
- *
- * The chess (checker!) board.
- */
-
- RSPcylinder_board(,RSSsilver(),RSSgold(),BOARDSIZE)
-
- /***********************************************************************
- *
- * One checker.
- */
-
- RSProundeddisc(name check, RAD, 0,0,.0375, 0,0,1, .075)
-
- /***********************************************************************
- *
- * Checker surfaces
- */
-
- surface black_plastic
- ambient .01 .01 .01
- diffuse .02 .02 .02
- specular 1 1 1
- specpow 50
- reflect .1
-
- surface red_plastic
- ambient .4 .00 .00
- diffuse .8 .00 .00
- specular 1 1 1
- specpow 50
- reflect .1
-
- #define team1 black_plastic
- #define team2 red_plastic
-
-
- /***********************************************************************
- *
- * Team 1.
- */
-
- object team1 check
- RSMchesspiece(1,1,BOARDSIZE)
- object team1 check
- RSMchesspiece(1,2,BOARDSIZE)
- object team1 check
- RSMchesspiece(1,3,BOARDSIZE)
- object team1 check
- RSMchesspiece(1,4,BOARDSIZE)
- object team1 check
- RSMchesspiece(1,5,BOARDSIZE)
- object team1 check
- RSMchesspiece(1,6,BOARDSIZE)
- object team1 check
- RSMchesspiece(1.5,7,BOARDSIZE) /* this one is in the process of moving */
- object team1 check
- RSMchesspiece(1,8,BOARDSIZE)
-
- object team1 check
- RSMchesspiece(2,1,BOARDSIZE)
- object team1 check
- RSMchesspiece(2,2,BOARDSIZE)
- object team1 check
- RSMchesspiece(3,3,BOARDSIZE)
- object team1 check
- RSMchesspiece(2,4,BOARDSIZE)
- object team1 check
- RSMchesspiece(4,5,BOARDSIZE)
- object team1 check
- RSMchesspiece(2,6,BOARDSIZE)
- object team1 check
- RSMchesspiece(3,7,BOARDSIZE)
- object team1 check
- RSMchesspiece(2,8,BOARDSIZE)
-
- /***********************************************************************
- *
- * Team 2
- */
-
- object team2 check
- RSMchesspiece(8,1,BOARDSIZE)
- object team2 check
- RSMchesspiece(8,2,BOARDSIZE)
- object team2 check
- RSMchesspiece(8,3,BOARDSIZE)
- object team2 check
- RSMchesspiece(8,4,BOARDSIZE)
- object team2 check
- RSMchesspiece(8,5,BOARDSIZE)
- object team2 check
- RSMchesspiece(8,6,BOARDSIZE)
- object team2 check
- RSMchesspiece(8,7,BOARDSIZE)
- object team2 check
- RSMchesspiece(8,8,BOARDSIZE)
-
- object team2 check
- RSMchesspiece(7,1,BOARDSIZE)
- object team2 check
- RSMchesspiece(7,2,BOARDSIZE)
- object team2 check
- RSMchesspiece(6,3,BOARDSIZE)
- object team2 check
- RSMchesspiece(5,4,BOARDSIZE)
- object team2 check
- RSMchesspiece(7,5,BOARDSIZE)
- object team2 check
- RSMchesspiece(7,6,BOARDSIZE)
- object team2 check
- RSMchesspiece(5,7,BOARDSIZE)
- object team2 check
- RSMchesspiece(7,8,BOARDSIZE)
-
- /***********************************************************************
- *
- * The floor.
- */
-
- name floor plane 0 0 -1.001 0 0 1
-
- RSTnamed_marb_check1(floor, 3)
-
-